package com.maikobi.maikobi.config;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

/**
 * @author: Maiko7
 * @create: 2025-07-13 8:12
 * @description: OpenAPI (Swagger 3.0) 配置类，用于配置用户中心项目的接口文档信息
 */
@Configuration
//仅在 dev 或 test 环境下生效。
@Profile({"dev", "test"})
public class SwaggerConfig {


    /**
     * 配置 OpenAPI 基本信息，如标题、版本、描述、规范、许可协议等
     *
     * @return OpenAPI bean
     */
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("智能BI系统接口文档")
                        .version("1.0.0")
                        .description("本系统是一个基于 AI 的智能数据分析平台，区别于传统 BI 工具，用户只需上传原始数据并输入分析目标，即可一键生成图表、分析结论及问题解答。\n\n" +
                                "核心功能包括：图表自动生成、异步任务处理、图表管理、AI 智能问答等，大幅降低数据分析门槛与人力成本。\n\n" +
                                "系统基于 Spring Boot + SpringDoc + Knife4j 构建，遵循 OpenAPI 3 规范。")
                        .contact(new Contact().name("Maiko7").email("945073480@qq.com").url("https://blog.csdn.net/weixin_44146541?type=blog"))
                        .termsOfService("https://blog.csdn.net/weixin_44146541?type=blog")
                        .license(new License()
                                .name("Apache License 2.0")
                                .url("https://www.apache.org/licenses/LICENSE-2.0.html")));
    }

//    @Bean
//    public GroupedOpenApi userCenterApi() {
//        return GroupedOpenApi.builder()
//                .group("user-center")
//                .packagesToScan("com.maiko.usercenter.controller")
//                .build();
//    }


}